package com.xm.xmds1705083.service.model;

/**
 * @Project : 硬件通讯
 * @Package : com.sondon.model
 * @Class : Entity_Byte.java
 * @Company 杭州新苗网络科技有限公司
 * @Author : Loysen
 * @DateTime：2017年4月3日 上午9:15:35
 *
 * @Description : {
字段	长度	备注                                                  示例
start   2        开始位                                                FA FA
length	2	    包的总长度，length+cmd+type+termID+seq+parm            00 00
Cmd	    2	    操作命令                                               00 00
Type	2	    请求：1，回应:2                                        00 00
termID	12	    停车场ID号，字符串，由云平台统一分配                   00 00 00 00 00 00 00 00 00 00 00 00 00
Seq	    4 	    包序列号，用来唯一的标识一次请求和回应                 00 00 00 00
flag	4	    固定为0                                                00 00 00 00
Param	不定	报文正文，参数列表或结果回应, JSON 字符串
end     2       结束位 AFAF                                            AFAF
Crc16	2	    校验码前所有字节的 CRC 校验，X^16+X^15+X^2+1  00 00

请求和回应包的cmd相同；
请求的type为1，回应的包type为2；
请求和回应包的Seq相同；
param格式为JSON 字符串，JSON中的键值都是字符串型的，如缴费金额键值对为"amount": "100"，不能为"amount": 100

Crc16	2	校验码前所有字节的 CRC 校验，生成多项式：X^16+X^15+X^2+1 ，高位字节在前，低位字节在后。校验算法参考附录
}
 */
public class SocketEntityByte {

    byte[] start ;
    byte[]  length;
    byte[] cmd;
    byte[] version;
    byte[] type ;
    byte[] termid;
    byte[] seq;
    byte[] flag;
    byte[] param;
    byte[] end ;
    byte[] mac;

    public byte[] getStart() {
        return start;
    }

    public void setStart(byte[] start) {
        this.start = start;
    }

    public byte[] getLength() {
        return length;
    }

    public void setLength(byte[] length) {
        this.length = length;
    }

    public byte[] getCmd() {
        return cmd;
    }

    public void setCmd(byte[] cmd) {
        this.cmd = cmd;
    }

    public byte[] getType() {
        return type;
    }

    public void setType(byte[] type) {
        this.type = type;
    }

    public byte[] getTermid() {
        return termid;
    }

    public void setTermid(byte[] termid) {
        this.termid = termid;
    }

    public byte[] getSeq() {
        return seq;
    }

    public void setSeq(byte[] seq) {
        this.seq = seq;
    }

    public byte[] getFlag() {
        return flag;
    }

    public void setFlag(byte[] flag) {
        this.flag = flag;
    }

    public byte[] getParam() {
        return param;
    }

    public void setParam(byte[] param) {
        this.param = param;
    }

    public byte[] getEnd() {
        return end;
    }

    public void setEnd(byte[] end) {
        this.end = end;
    }

    public byte[] getMac() {
        return mac;
    }

    public void setMac(byte[] crc16) {
        this.mac = mac;
    }

    public byte[] getVersion() {
        return version;
    }

    public void setVersion(byte[] version) {
        this.version = version;
    }

}
